import Vue from 'vue';

// 创建事件总线
Vue.prototype.$bus = new Vue();

// 创建 WebSocket 连接
const ws = new WebSocket('ws://localhost:8080/ws');

ws.onopen = () => {
    console.log('WebSocket connected');
};

ws.onmessage = (event) => {
    try {
        const data = JSON.parse(event.data);
        // 触发全局刷新事件
        Vue.prototype.$bus.$emit('global-refresh');
    } catch (error) {
        console.error('WebSocket message parse error:', error);
    }
};

ws.onclose = () => {
    console.log('WebSocket disconnected');
    // 尝试重新连接
    setTimeout(() => {
        window.location.reload();
    }, 3000);
};

ws.onerror = (error) => {
    console.error('WebSocket error:', error);
};

export default {
    install(Vue) {
        // 在 Vue 原型上添加 WebSocket 实例
        Vue.prototype.$ws = ws;
    }
}; 